Holographic media is rapidly developing as a medium for mass storage of data. Because holographic media is capable of storing relatively large amounts of data it is necessary to be able to index holographic media to be able to locate specific data stored thereon and/or determine various parameters about the data and/or storage medium.
One type of holographic storage device that includes holographic media is a cartridge that contains a spinning, circular disk having holographic media. Laser light can be projected onto the media to form holographic images in the media that contain data. When reading the holographic media, a reference laser beam illuminates the media to read out the holographic data.
Often, any particular area of holographic media in such storage devices can be read many times but written to only once. That is, the media is “write-once” holographic media. It is also the case, however, that there is typically enough media space in such holographic storage devices that that a single device can be used for many storage sessions, with additional data being written to the holographic media during each session. For such multi-session use, it is important to index, or provide a directory for, data that is written to the media during each session. Such an index or directory includes information that allows particular data written to the media to be located on the media.
For non-holographic media written to over multiple sessions, such directories are typically maintained in one of two ways. First, a session directory can be generated after each write session that indexes the data written to during that write session. Each of the session directories typically would include a pointer to the previous session directory. In order to locate information one the storage device, each session directory would be searched. A second way to index multi-session, non-holographic media is to generate a complete volume directory after each write session that includes an index of each of the sessions ever written to the disk. This can be accomplished by, after each write session, copying the previous volume directory and appending an index from the most recent write session.
Each of these methods of maintaining a volume directory requires searching the media in the volume to be sure that all of the data has been indexed (either directly or with pointers) in the most recent directory. If a volume is not fully written to, this involves reading past the end of data stored in the media, that is reading into portions of the media that have not been written to, in order to be sure that all data has been indexed.
Current storage devices can also allow the host to request reads beyond the end of data without checking the directory to see if data is present there. If there is no data or it does not pass a checksum, an error is returned.
In storage devices using non-holographic media, this is not a significant issue. When using holographic media, however, reading into a portion of the media that has not been written to can present some difficulty. In particular, holographic media includes photosensitive agents that are activated when exposed to light. If areas of the media are exposed to a reference beam before being written to, the photo-sensitive agents in the media can be activated and the media's dynamic range, and thus storage capacity, can be undesirably reduced.